#include <iostream>
#include <cstdio>
#include <stdarg.h>

using namespace std;

void func(int a, ...)
{
    va_list p;
    va_start(p, a); //指向第一个参数的下一个参数
    int num;
    for(int i = 0; i < a; i++)
    {
        num = va_arg(p, int);   //获取当前指针指向的参数并再次指向下一个参数
        cout<<num<<endl;
    }
}

int my_printf(const char * format, ...)
{
    va_list p;
    va_start(p, format);
    while(*format != '\0')
    {
        if(*format == '%')
        {
            format++;
            switch (*format)
            {
                case 'd':
                {
                    int result = va_arg(p,int);
                    putchar(result + '0');
                    break;
                }
                case 'c':
                {
                    char ch = va_arg(p, int);
                    putchar(ch);
                    break;
                }
            }
        }
        else
        {
            putchar(*format);
        }
        format++;
    }
    va_end(p);
}

int main(int argc, char **argv)
{


    
}